# spring-boot-oauth2-client
server.port=80
spring.application.name=spring-boot-oauth2-client

# OAuth 2.0-клиент для OAuth 2.0 аутентификации в X‑IDBox
# После запуска сервиса становится доступен интерфейс для аутентификации (по умолчанию порт 80) с возможностью OAuth 2.0 входа.

# Пример команды генерации ключей для https

./keytool -genkeypair -alias spring-client -keyalg RSA -keysize 4096 -storetype PKCS12 -keystore spring-client.p12
-validity 3650 -storepass changeit

# Настройки для https

#server.port=443
# Путь к файлу с ключами, сгенерированный по примеру выше
#server.ssl.key-store=spring-client.p12
#server.ssl.key-store-password=changeit
#server.ssl.key-store-type=pkcs12
#server.ssl.key-alias=spring-client
#server.ssl.key-password=changeit

# Адрес для обращений к сервисам X‑IDBox (обычно совпадает с точкой входа OAuth 2.0), например, https://oauth-server

oauth2.gateway=https://oauth-server

# endpoint для получения данных УЗ пользователя, например, /authentication/api/v1/oauth2/user

oauth2.user-info-endpoint=/authentication/api/v1/oauth2/user

# endpoint для получения данных профиля УЗ пользователя, например, /authentication/api/v1/oauth2/user-profile

oauth2.user-profile-info-endpoint=/authentication/api/v1/oauth2/user-profile

# endpoint для выхода из X‑IDBox, инициированного OpenID-клиентом.

# Если значение указано и используется OpenID Connect 1.0 (запрошен scope openid), то при выходе также будет произведен выход из X‑IDBox

oauth2.end-session-endpoint=https://oauth-server/signin/oauth-logout

# Адрес для перенаправления после выхода из X‑IDBox, используется в связке с end-session-endpoint

oauth2.post-logout-redirect-uri=http://localhost/login

# Пример автонастройки клиента, вместо {autoconfigured-client-name} подставьте произвольное имя

spring.security.oauth2.client.registration.{autoconfigured-client-name}.client-id=spring-client
spring.security.oauth2.client.registration.{autoconfigured-client-name}.client-secret=spring-client
spring.security.oauth2.client.provider.{autoconfigured-client-name}.issuer-uri=https://oauth-server
spring.security.oauth2.client.registration.{autoconfigured-client-name}.scope=user,user-profile,user-dynamic-fields,user-profile-dynamic-fields,organization,organization-dynamic-fields,openid

# Пример настройки клиента, вместо {client-name} подставьте произвольное имя

spring.security.oauth2.client.registration.{client-name}.client-id=spring-client
spring.security.oauth2.client.registration.{client-name}.client-secret=spring-client
spring.security.oauth2.client.registration.{client-name}.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.{client-name}.redirect-uri=http://localhost/login/oauth2/code/xidbox
spring.security.oauth2.client.provider.{client-name}.authorization-uri=https://oauth-server/api/v1/oauth2/authorize
spring.security.oauth2.client.provider.{client-name}.token-uri=https://oauth-server/authentication/api/v1/oauth2/token
spring.security.oauth2.client.provider.{client-name}.user-info-uri=https://oauth-server/authentication/api/v1/oauth2/user-profile
spring.security.oauth2.client.provider.{client-name}.jwk-set-uri=https://oauth-server/authentication/api/v1/oauth2/jwks

### Without OpenID Connect 1.0

spring.security.oauth2.client.registration.{client-name}.scope=user,user-profile,user-dynamic-fields,user-profile-dynamic-fields,organization,organization-dynamic-fields
spring.security.oauth2.client.provider.{client-name}.user-name-attribute=uuid

### For OpenID Connect 1.0 (with scope openid)

#spring.security.oauth2.client.registration.{client-name}.scope=user,user-profile,user-dynamic-fields,user-profile-dynamic-fields,organization,organization-dynamic-fields,openid
#spring.security.oauth2.client.provider.{client-name}.user-name-attribute=sub